"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/10/29 10:23
@Description : 
类属性
- 类成员变量
- 定义在类中，但不在任何方法内。
- 它属于类本身，而不属于某个具体的实例
- 类成员变量可以通过类名访问，也可以通过实例访问

实例属性
-  定义在类的方法中，通常通过self 关键字赋值
- 它属于类的某个具体实例，不同实例可以有不同的值
"""
class Student:
    name = 'lisi'
    age = 23
    info = 'hello'
    """
     def __init__(self, name, age):
        # 动态属性添加
        self.name = name
        self.age = age
    """


# 访问类属性
name = Student.name
age = Student.age
print(name, age)

print('-------------------------------------')
# 创建学生对象

student = Student()
#  动态属性的添加    实例中如果没有这个属性则动态添加属性
student.name = 'zhangsan'
student.age = 25
#  从实例本身找属性  如果实例没有改属性 则到类属性中查找
print(student.name)
print(student.age)
print(student.info)

"""
student = Student(name='zhangsan', age=25)
print(student.name)
print(student.age)
print(student.info)

"""
print('-------------------------------------')
name = Student.name
age = Student.age
print(name, age)

#  通过修改类属性  可以影响所有由类创建的所有实例
Student.info = 'hi'

print('-------------------------------------')
student2 = Student()
student2.info = 'heihei'
print(student2.info)


print('-------------------------------------')
student3 = Student()
print(student3.info)